The present invention relates to a controlling device of a machine tool, and a robot, etc.
In the prior arts, there is a device disclosed in the xi-th embodiment of International Unexamined Patent Publication No. W093/20489, which is proposed by the present applicant, as this type of controlling device. FIG. 6 is a block diagram showing a configuration of a device according to the xi-th embodiment of the International Unexamined Patent Publication No. W093/20489.
In FIG. 6, i indicates the present time, i+X (X is a positive integer) indicates a future time coming in X sampling from the present sampling time i at a sampling time Ts, and ixe2x88x92X indicates a past time elapsed by X sampling from the time i at a sampling time Ts. Also, r(Y) (Y is an integer) indicates a target command of time Y, y(Y) indicates an output from a controlled object (not illustrated) at time Y, and u(Y) indicates an input (hereinafter called xe2x80x9ccontrol inputxe2x80x9d) to a controlled object (not illustrated) at time Y. A prior art controlling device 80 shown in FIG. 6 is a controlling device for reconciling the output of a controlled object (not illustrated) with a target command given.
Referring to FIG. 6, the controlling device 80 inputs a control input u(i) into a controlled object (not illustrated), so that an output y(i) from the object is reconciled with a target command r(i), using a future target command r(i+M) given and an output y(ixe2x88x92K) from the object as inputs. The controlling device 80 includes memories 81, 82, 83, 84, an operational unit 85, and a subtracter 86.
The memory 81 stores a target command from K sampling past to M sampling future, memory 82 stores controlling constants, memory 83 stores outputs from a controlled object from K+Na (Na is a natural number) sampling past to K sampling past, and memory 84 stores control inputs from K+Nb (Nb is a natural number) past to 1 sampling past. The subtracter 86 acquires an error between the target command r(ixe2x88x92K) and an output y(ixe2x88x92K) from the controlled object.
The operational unit 85 is a computing element for determining a control input u(i) as shown below, so that an performance function regarding both a future error prediction value obtained by using a transfer function model from a control input u(i) to an output y(i) of a controlled object and the control input become minimal:       u    ⁡          (      i      )        =                    ∑                  m          =          1                M            ⁢                        q          m                ⁢                  r          ⁡                      (                          i              +              m                        )                                -                  ∑                  n          =          0                Na            ⁢                        p          n                ⁢                  y          ⁡                      (                          i              -              K              -              n                        )                                +          Ee      ⁡              (                  i          -          K                )              -                  ∑                  n          =          1                          Nb          +          K                    ⁢                        g          n                ⁢                  u          ⁡                      (                          i              -              n                        )                              
According to the prior art controlling device 80, since the control input is determined so that the future error prediction value is minimized, control of high follow-up accuracy can be applied to the controlled object.
However, in the prior art controlling device 80 shown in FIG. 6, if any feedforward control is applied to the controlled object, the controlling device 80 predicts a future error with the feedforward signal (hereinafter called xe2x80x9cFF signalxe2x80x9d) not taken into consideration, wherein a prediction error is produced in the future error prediction value, and resultantly there is a problem of worsening the follow-up accuracy.
It is therefore an object of the invention to provide a controlling device of high follow-up accuracy, the prediction accuracy of which does not deteriorate by an FF signal where feedforward control is applied to a controlled object.
In order to solve the above-described problem, a prediction controlling device according to the invention outputs a control input and feedforward signal to the controlled object, so that the output of the controlled object is reconciled with a target command, and the prediction controlling device has a feedforward signal generation command filter that receives a target command signal which is information of the future target command as an input and outputs a future command increment which is an increment from one sampling period to the next sampling period of a target command signal from the present sampling time to a multiple-sampling future and a feedforward signal from the future target command signal, and the prediction controlling device further has a prediction controller that receives the future command increment, the feedforward signal and a controlled object output at the past sampling time over zero sampling as inputs, acquires the future error prediction value by using a transfer function model from the feedforward signal and the control input to the controlled object output, determines the control input so that the performance function of the error prediction value and the control input becomes minimal, and applies the control input to the controlled object.
In operations in the prediction controller, since a future error prediction value is acquired by a transfer function model with the feedforward signal taken into consideration, and the control input is determined so that the performance function of the future prediction value and control input is minimized, the prediction accuracy is not degraded by adding the feedforward control thereto.
According to an embodiment of the invention, the above-described feedforward signal generation command filter receives the above-described target command signal at the present sampling time as an input and outputs the corresponding target command signal or increments between the respective sampling periods of signals obtained by sampling the corresponding target command signal as the above-described command increments.
According to the present embodiment of the invention, the above-described feedforward signal generation command filter calculates and outputs the above-described feedforward signals, which are:
FF1(i)=Gain1xc2x7xcex94r(i+m1)
FF2(i)=Gain2xc2x7{xcex94r(i+m2)xe2x88x92xcex94r(i+m2xe2x88x921)}
where i is the present sampling time, Gain1 and Gain2 are constants, m1 and m2 are integers that meet 0xe2x89xa6m1xe2x89xa6m2, xcex94r(i+m1) is the above-described command increment of the m1 sampling future, and FF1(i) and FF2(i) are the feedforward signals.
According to the embodiment of the invention, the above-described controlled objects are a motor and its speed controller, the control input is a speed command, the controlled object output is a motor position, and the feedforward signals are a feedforward signal for speed control, and a feedforward signal for torque control.
According to the present embodiment of the invention, the above-described prediction controller includes: an integrator that receives the future command increment as an input and calculates the target command from the present sampling time to a multiple-sampling future; a memory section that stores constants for prediction control in advance and receives as inputs the target command calculated by the integrator, two feedforward signals, controlled object output, and control input, and stores the past target command, past feedforward signals, past controlled object output and past control input; a subtracter that subtracts the controlled object output from the past target command and acquires the past error; and an operational unit that receives as inputs the target command acquired by the above-described integrator, the past feedforward signals, the past controlled object output, the past control input and constants for prediction control, which are stored by the memory section, and the error obtained by the subtracter, obtains a future error prediction value by using a discrete-time transfer function model, which is:
Y(z)={(b1zxe2x88x921+ . . . +bNbzxe2x88x92Nb)U(z)+(d1zxe2x88x921+ . . . +dNdzxe2x88x92Nd)FF1(z)+(c1zxe2x88x921+ . . . +cNczxe2x88x92Nc)FF2(z)}/(1xe2x88x92a1zxe2x88x92131  . . . xe2x88x92aNazxe2x88x92Na),
from the feedforward signal and the control input to the controlled object output where FF1(z) and FF2(z) are z-converted by the two feedforward signals, U(z) is z-converted by the above control input, Y(z) is z-converted by the controlled object output, Na, Nb, Nc, and Nd are natural numbers, and a1, a2, . . . , aNa, b1, b2, . . . , bNb, c1, c2, . . . , cNc, d1, d2, . . . , dNd are prescribed coefficients, and determines and outputs the control input so that the performance function of the corresponding future error prediction value and control input is minimized.
According to the embodiment of the invention, the above-described operational unit calculates and outputs the above-described control input, which is:       u    ⁡          (      i      )        =                    ∑                  m          =          1                M            ⁢                        q          m                ⁢                  r          ⁡                      (                          i              +              m                        )                                -                  ∑                  n          =          0                Na            ⁢                        p          n                ⁢                  y          ⁡                      (                          i              -              K              -              n                        )                                +          Ee      ⁡              (                  i          -          K                )              -                  ∑                  n          =          1                          Nb          +          K                    ⁢                        g          n                ⁢                  u          ⁡                      (                          i              -              n                        )                                -                  ∑                  n          =          0                          Nd          +          K                    ⁢                        x          n                ⁢                              FF            1                    ⁡                      (                          i              -              n                        )                                -                  ∑                  n          =          0                          Nc          +          K                    ⁢                        t          n                ⁢                              FF            2                    ⁡                      (                          i              -              n                        )                              
where x is an integer showing a sampling time, FF1(x) and FF2(x) are the two feedforward signals, u(x) is the control input, y(x) is the controlled object output, r(x) is the target command, M, Na, Nb, Nc, and Nd are natural numbers, K is an integer of Kxe2x89xa70, qm, pn, E, gn, xn, and tn are said constants for the above-described prediction control, and i is the present sampling time.
According to another embodiment of the invention, the prediction controlling device includes: a first difference unit that receives the two feedforward signals as inputs and acquires increments of the respective sampling periods of the corresponding feedforward signals as feedforward signal increments; a second difference unit that receives the past controlled object output as an input and acquires increments of the respective sampling periods of the corresponding controlled object output as the past output increments; a memory section that stores constants for prediction control in advance, receives as inputs the command increments, two feedforward signal increments acquired by the first difference unit, output increment acquired by the second difference unit, control input, and increment of the control input, and stores the past command increment, past feedforward signal increments, past output increment, past control input, and past increment of the control input; a subtracter that subtracts the past output increment from the past command increment and acquires an increment of the past error; a first integrator that integrates the increment of the error acquired by the subtracter and acquires the above-described error; an operational unit that receives as inputs the future command increment, past command increment, past feedforward signal increments, past output increment, past control input, past increment of the control input, constants for the prediction control, which are stored by the memory section, and the error acquired by the first integrator, acquires a future error prediction value by using a discrete-time transfer function model from the feedforward signals and the control input to the controlled object output, which is:
Y(z)={(b1zxe2x88x921+ . . . +bNbzxe2x88x92Nb)U(z)+(d1zxe2x88x921+ . . . +dNdzxe2x88x92Nd)FF1(z)+(c1zxe2x88x921+ . . . +cNczxe2x88x92Nc)FF2(z)}/(1xe2x88x92a1zxe2x88x921xe2x88x92 . . . xe2x88x92aNazxe2x88x92Na)
where FF1(z) and FF2(z) are z-converted by the two feedforward signals, U(z) is z-converted by the control input, Y(z) is z-converted by the controlled object output, Na, Nb, Nc, and Nd are natural numbers, and a1, a2, . . . , aNa, b1, b2, . . . , bNb, c1, c2, . . . , cNc, d1, d2, . . . , dNd are prescribed coefficients, and determines and outputs the increment of the control input so that the performance function with respect to the corresponding future error prediction value and control input is minimized; and a second integrator that integrates the increment of the control input outputted by the above-described operational unit and acquires the control input.
According to the embodiment of the invention, the above-described operational unit calculates and outputs the increment of the control input, which is:       Δ    ⁢          xe2x80x83        ⁢          u      ⁡              (        i        )              =                    ∑                  m          =                      K            +            1                          M            ⁢                        v          m                ⁢        Δ        ⁢                  xe2x80x83                ⁢                  r          ⁡                      (                          i              +              m                        )                                -                  ∑                  n          =          0                          Na          -          1                    ⁢                        p          n                ⁢        Δ        ⁢                  xe2x80x83                ⁢                  y          ⁡                      (                          i              -              K              -              n                        )                                +          Ee      ⁡              (                  i          -          K                )              -                  ∑                  n          =          1                          Nb          +          K          -          1                    ⁢                        g          n                ⁢        Δ        ⁢                  xe2x80x83                ⁢                  u          ⁡                      (                          i              -              n                        )                                -                  ∑                  n          =          0                          Nd          +          K          -          1                    ⁢                        x          n                ⁢        Δ        ⁢                  xe2x80x83                ⁢                              FF            1                    ⁡                      (                          i              -              n                        )                                -                  ∑                  n          =          0                          Nc          +          K          -          1                    ⁢                        t          n                ⁢        Δ        ⁢                  xe2x80x83                ⁢                              FF            2                    ⁡                      (                          i              -              n                        )                                -          Fu      ⁡              (                  i          -          1                )            
where x is an integer showing a sampling time, xcex94FF1(x) and xcex94FF2(x) are increments of the two feedforward signals, xcex94u(x) is an increment of the control input, xcex94y(x) is the output increment, xcex94r(x) is the command increment, e(x) is the error, M, Na, Nb, Nc, and Nd are natural numbers, K is an integer of Kxe2x89xa70, vm, pn, E, gn, xn, tn and F are constants for the prediction control, and i is the present sampling time.
According to still another embodiment of the invention, the above-described prediction controller includes: a difference unit that receives the past controlled object output as an input and acquires increments of respective sampling periods of said corresponding controlled object output as the past output increments; a memory section that stores constants for prediction control in advance, receives as inputs the command increment, two feedforward signals, output increment obtained by said difference means, and control input, and stores said past command increment, said past feedforward signals, said past output increment, and said past control input; a subtracter that subtracts the past output increment from the past command increment, and acquires the past error increments; an integrator that integrates the increment of the error, which is obtained by said subtracter and acquires said error; and
an operational unit that receives as inputs the future command increment, past command increment, past feedforward signal, past output increment, past control input, constants for the prediction control, which are stored by the memory section, and the error acquired by the integrator, acquires a future error prediction value by using a discrete-time transfer function model from the feedforward signals and the control input to the controlled object output, which is
Y(z)={(b1zxe2x88x921+ . . . +bNbzxe2x88x92Nb)U(z)+(d1zxe2x88x921+ . . . +dNdzxe2x88x92Nd)FF1(z)+(c1zxe2x88x921+ . . . +cNczxe2x88x92)FF2(z)}/{(1xe2x88x92zxe2x88x921)(1xe2x88x92a1zxe2x88x921xe2x88x92 . . . xe2x88x92aNazxe2x88x92Na)}
where FF1(z) and FF2(z) are z-converted by the two feedforward signals, U(z) is z-converted by the control input, Y(z) is z-converted by the controlled object output, Na, Nb, Nc, and Nd are natural numbers, a1, a2, . . . , aNa, b1, b2, . . . , bNb, c1, c2, . . . , cNc, d1, d2, . . . , dNd are prescribed coefficients, and determines and outputs the control input so that the performance function with respect to the corresponding future error prediction value and control input is minimized.
According to the embodiment of the invention, the above-described operational unit calculates and outputs the above-described control input, which is:       u    ⁡          (      i      )        =                    ∑                  m          =                                    -              K                        +            1                          M            ⁢                        v          m                ⁢        Δ        ⁢                  xe2x80x83                ⁢                  r          ⁡                      (                          i              +              m                        )                                -                  ∑                  n          =          0                          Na          -          1                    ⁢                        p          n                ⁢        Δ        ⁢                  xe2x80x83                ⁢                  y          ⁡                      (                          i              -              K              -              n                        )                                +          Ee      ⁡              (                  i          -          K                )              -                  ∑                  n          =          1                          Nb          +          K          -          1                    ⁢                        g          n                ⁢                  u          ⁡                      (                          i              -              n                        )                                -                  ∑                  n          =          0                          Nd          +          K          -          1                    ⁢                        x          n                ⁢                              FF            1                    ⁡                      (                          i              -              n                        )                                -                  ∑                  n          =          0                          Nc          +          K          -          1                    ⁢                        t          n                ⁢                              FF            2                    ⁡                      (                          i              -              n                        )                              
where x is an integer showing a sampling time, FF1(x) and FF2(x) are the two feedforward signals, u(x) is the control input, xcex94y(x) is the output increment, xcex94r(x) is the command increment, e(x) is the error, vm, pn, E, gn, xn, and tn are constants for the prediction control, and i is the present sampling time.
According to the invention, in the calculations of the prediction controller, a future error prediction value is acquired by a transfer function model in which the feedforward signals are taken into consideration, and the control input is determined so that the performance function with respect to the future prediction value and control input is minimized. Therefore, the prediction accuracy is not degraded by addition of the feedforward control, wherein control of high follow-up accuracy is enabled.